package org.ltc.alliance.service.clubuser;

import org.ltc.alliance.constant.StatusConst;
import org.ltc.alliance.model.ClubUserDomain;

import java.util.List;

public interface ClubUserService {

    void saveApplyInfo(ClubUserDomain clubUser);

    List<ClubUserDomain> getListByCidAndStatus(Integer cid, StatusConst.ClubUser status);
    List<ClubUserDomain> getListByUidAndStatus(Integer uid, StatusConst.ClubUser status);

    // 暂时只实现了对申请的审核，仅当preStatus为Applying时可行
    void alterStatusByCidAndUid(Integer cid, Integer uid, Boolean pass, StatusConst.ClubUser preStatus);

    // 退出社团
    void quitClub(Integer cid, Integer uid);
    void kickUser(Integer provider, Integer receiver, Integer cid);


    /* 以下方法都是对输入信息进行检测 */
    void userInClub(Integer cid, Integer uid);
    Boolean userIsInClub(Integer cid, Integer uid);


}
